Security News
New Python Packaging Proposal Aims to Solve Phantom Dependency Problem with SBOMs
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.
@pulumi/pulumi
Advanced tools
@pulumi/pulumi is an infrastructure as code (IaC) tool that allows developers to define, deploy, and manage cloud infrastructure using familiar programming languages like JavaScript, TypeScript, Python, Go, and C#. It integrates with various cloud providers and services, enabling users to create, update, and manage cloud resources programmatically.
Defining Cloud Infrastructure
This feature allows you to define cloud infrastructure using code. In this example, an S3 bucket is created using the AWS provider.
const pulumi = require('@pulumi/pulumi');
const aws = require('@pulumi/aws');
const bucket = new aws.s3.Bucket('my-bucket');
exports.bucketName = bucket.id;
Managing Infrastructure State
Pulumi manages the state of your infrastructure, allowing you to respond to changes. This example sets up an event handler for when a new object is created in the S3 bucket.
const pulumi = require('@pulumi/pulumi');
const aws = require('@pulumi/aws');
const bucket = new aws.s3.Bucket('my-bucket');
bucket.onObjectCreated('onNewObject', async (event) => {
console.log('New object created:', event);
});
Multi-Cloud Deployments
Pulumi supports multi-cloud deployments, allowing you to manage resources across different cloud providers. This example shows how to create an S3 bucket in AWS and a storage account in Azure.
const pulumi = require('@pulumi/pulumi');
const aws = require('@pulumi/aws');
const azure = require('@pulumi/azure');
const awsBucket = new aws.s3.Bucket('aws-bucket');
const azureStorageAccount = new azure.storage.Account('azure-storage', {
resourceGroupName: 'my-resource-group',
accountTier: 'Standard',
accountReplicationType: 'LRS'
});
Terraform by HashiCorp is another popular IaC tool that allows you to define and provision infrastructure using a declarative configuration language. Unlike Pulumi, which uses general-purpose programming languages, Terraform uses its own domain-specific language (HCL). Terraform has a large ecosystem and strong community support.
The AWS Cloud Development Kit (CDK) is an open-source software development framework to define cloud infrastructure in code and provision it through AWS CloudFormation. Similar to Pulumi, AWS CDK allows you to use familiar programming languages, but it is specific to AWS services.
The Serverless Framework is a tool for building and deploying serverless applications. It focuses on serverless architectures and supports multiple cloud providers. While it shares some similarities with Pulumi in terms of deployment and management, it is more specialized in serverless use cases.
The Pulumi Node.js SDK lets you write cloud programs in JavaScript.
Using npm:
$ npm install --save @pulumi/pulumi
Using yarn:
$ yarn add @pulumi/pulumi
This SDK is meant for use with the Pulumi CLI. Please visit pulumi.com for installation instructions.
For anybody who wants to build from source, here is how you do it.
This SDK uses Node.js and we support the Active LTS and Current releases, as defined by this table. We support both NPM and Yarn for package management.
At the moment, we only support building on macOS and Linux, where standard GNU tools like make
are available.
The first time you build, run make ensure
to install and prepare native plugins for V8:
$ make ensure
This is only necessary if you intend to produce a build that is capable of running older versions of the SDK
contained in this directory. If you do intend to do this, you must have node 6.10.2
installed.
To build the SDK, simply run make
from the root directory (where this README
lives, at sdk/nodejs/
from the repo's
root). This will build the code, run tests, and install the package and its supporting artifacts.
At the moment, for local development, we install everything into /opt/pulumi
. You will want this on your $PATH
.
The tests will verify that everything works, but feel free to try running pulumi preview
and/or pulumi up
from
the examples/minimal/
directory. Remember to run tsc
first, since pulumi
expects JavaScript, not TypeScript.
2.25.2 (2021-04-17)
FAQs
Pulumi's Node.js SDK
The npm package @pulumi/pulumi receives a total of 394,555 weekly downloads. As such, @pulumi/pulumi popularity was classified as popular.
We found that @pulumi/pulumi demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.
Security News
Socket CEO Feross Aboukhadijeh discusses open source security challenges, including zero-day attacks and supply chain risks, on the Cyber Security Council podcast.
Security News
Research
Socket researchers uncover how threat actors weaponize Out-of-Band Application Security Testing (OAST) techniques across the npm, PyPI, and RubyGems ecosystems to exfiltrate sensitive data.